package com.easthome.controller;

import com.easthome.entiry.MessageConstant;
import com.easthome.entiry.PageResult;
import com.easthome.entiry.QueryPageBean;
import com.easthome.entiry.Result;
import com.easthome.pojo.CheckItem;
import com.easthome.service.CheckItemService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

/**
 * 检查项请求和响应
 */
@RestController
@RequestMapping("checkItem")
public class CheckItemController {
    //注入业务层对象
    @Autowired
    private CheckItemService checkItemService;

    @GetMapping("select")
    public String select(){
        System.out.println("11111");
        return "dd";
    }
 

    /**
     * 编辑检查项目
     * 请求数据，是所有的检查项目数据
     */
    @PutMapping("updateCheckItem")
    public Result updateCheckItem(@RequestBody CheckItem checkItem) {
        checkItemService.updateCheckItem(checkItem);
        return new Result(true,MessageConstant.EDIT_CHECKITEM_SUCCESS);
    }

    /**
     * 主键查询检查项目
     */
    @GetMapping("queryCheckItemById")
    public Result queryCheckItemById(Integer id) {
        CheckItem checkItem = checkItemService.queryCheckItemById(id);
        return new Result(true,MessageConstant.QUERY_CHECKITEM_SUCCESS,checkItem);
    }


    /**
     * 检查项目的删除，请求参数，检查项目的主键id
     */
    @GetMapping("deleteCheckItem")
    public Result deleteCheckItem( Integer id){
        checkItemService.deleteCheckItem(id);
        return new Result(true,MessageConstant.DELETE_CHECKITEM_SUCCESS);
    }

    /**
     * 检查项目分页查询，带查询的条件
     * {queryString: null, currentPage: 1, pageSize: 10} 页面的请求参数
     * @return
     */
    @PostMapping("queryCheckItemPage")
    public Result queryCheckItemPage(@RequestBody QueryPageBean queryPageBean){
        PageResult pageResult = checkItemService.queryCheckItemPage(queryPageBean);
        System.out.println("pageResult = " + pageResult);
        return new Result(true,MessageConstant.QUERY_CHECKITEM_SUCCESS,pageResult);
    }

    /**
     * 新增检查项目的数据
     * 接收请求参数，存储到JavaBean对象（pojo）
     * 请求参数是json格式，添加注解接收参数
     */
    @PostMapping("addCheckItem")
    public Result addCheckItem(@RequestBody CheckItem checkItem) {
        checkItemService.addCheckItem(checkItem);
        //响应页面端
        return new Result(true, MessageConstant.ADD_CHECKITEM_SUCCESS);
    }
}
